package com.example.icongyou.api;

import com.example.icongyou.bean.Teacher;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;

/**
 * 对应后端 Spring Boot TeacherController 的 RESTful API 接口定义
 */
public interface TeacherApi {

    // POST /api/teachers - 创建教师 (注册)
    @POST("api/teachers")
    Call<String> createTeacher(@Body Teacher teacher);
    // 后端返回 String 类型的成功/失败消息

    // GET /api/teachers/{id} - 根据工号查询教师
    @GET("api/teachers/{id}")
    Call<Teacher> getTeacherById(@Path("id") String teacherId);

    // GET /api/teachers - 查询所有教师
    @GET("api/teachers")
    Call<List<Teacher>> getAllTeachers();

    // PUT /api/teachers/{id} - 更新教师信息
    @PUT("api/teachers/{id}")
    Call<String> updateTeacher(
            @Path("id") String teacherId,
            @Body Teacher teacherDetails
    );
    // 后端返回 String 类型的成功/失败消息

    // DELETE /api/teachers/{id} - 删除教师
    @DELETE("api/teachers/{id}")
    Call<Void> deleteTeacher(@Path("id") String teacherId);
    // 后端返回 204 No Content，使用 Call<Void> 或 Call<Unit>
}